home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 242 / Issue 242 - April 2008 - DPCS0408DVD.ISO / Open Source / AutoHotKey / Source / AutoHotkey104705_source.exe / source / lib_pcre / pcre / pcre_chartables.c < prev    next >
Encoding:
C/C++ Source or Header  |  2007-09-11  |  7.7 KB  |  199 lines

  1. /*************************************************
  2. *      Perl-Compatible Regular Expressions       *
  3. *************************************************/
  4.  
  5. /* This file contains character tables that are used when no external tables
  6. are passed to PCRE by the application that calls it. The tables are used only
  7. for characters whose code values are less than 256.
  8.  
  9. This is a default version of the tables that assumes ASCII encoding. A program
  10. called dftables (which is distributed with PCRE) can be used to build
  11. alternative versions of this file. This is necessary if you are running in an
  12. EBCDIC environment, or if you want to default to a different encoding, for
  13. example ISO-8859-1. When dftables is run, it creates these tables in the
  14. current locale. If PCRE is configured with --enable-rebuild-chartables, this
  15. happens automatically.
  16.  
  17. The following #includes are present because without the gcc 4.x may remove the
  18. array definition from the final binary if PCRE is built into a static library
  19. and dead code stripping is activated. This leads to link errors. Pulling in the
  20. header ensures that the array gets flagged as "someone outside this compilation
  21. unit might reference this" and so it will always be supplied to the linker. */
  22.  
  23. #ifdef HAVE_CONFIG_H
  24. #include "config.h"
  25. #endif
  26.  
  27. #include "pcre_internal.h"
  28.  
  29. const unsigned char _pcre_default_tables[] = {
  30.  
  31. /* This table is a lower casing table. */
  32.  
  33.     0,  1,  2,  3,  4,  5,  6,  7,
  34.     8,  9, 10, 11, 12, 13, 14, 15,
  35.    16, 17, 18, 19, 20, 21, 22, 23,
  36.    24, 25, 26, 27, 28, 29, 30, 31,
  37.    32, 33, 34, 35, 36, 37, 38, 39,
  38.    40, 41, 42, 43, 44, 45, 46, 47,
  39.    48, 49, 50, 51, 52, 53, 54, 55,
  40.    56, 57, 58, 59, 60, 61, 62, 63,
  41.    64, 97, 98, 99,100,101,102,103,
  42.   104,105,106,107,108,109,110,111,
  43.   112,113,114,115,116,117,118,119,
  44.   120,121,122, 91, 92, 93, 94, 95,
  45.    96, 97, 98, 99,100,101,102,103,
  46.   104,105,106,107,108,109,110,111,
  47.   112,113,114,115,116,117,118,119,
  48.   120,121,122,123,124,125,126,127,
  49.   128,129,130,131,132,133,134,135,
  50.   136,137,138,139,140,141,142,143,
  51.   144,145,146,147,148,149,150,151,
  52.   152,153,154,155,156,157,158,159,
  53.   160,161,162,163,164,165,166,167,
  54.   168,169,170,171,172,173,174,175,
  55.   176,177,178,179,180,181,182,183,
  56.   184,185,186,187,188,189,190,191,
  57.   192,193,194,195,196,197,198,199,
  58.   200,201,202,203,204,205,206,207,
  59.   208,209,210,211,212,213,214,215,
  60.   216,217,218,219,220,221,222,223,
  61.   224,225,226,227,228,229,230,231,
  62.   232,233,234,235,236,237,238,239,
  63.   240,241,242,243,244,245,246,247,
  64.   248,249,250,251,252,253,254,255,
  65.  
  66. /* This table is a case flipping table. */
  67.  
  68.     0,  1,  2,  3,  4,  5,  6,  7,
  69.     8,  9, 10, 11, 12, 13, 14, 15,
  70.    16, 17, 18, 19, 20, 21, 22, 23,
  71.    24, 25, 26, 27, 28, 29, 30, 31,
  72.    32, 33, 34, 35, 36, 37, 38, 39,
  73.    40, 41, 42, 43, 44, 45, 46, 47,
  74.    48, 49, 50, 51, 52, 53, 54, 55,
  75.    56, 57, 58, 59, 60, 61, 62, 63,
  76.    64, 97, 98, 99,100,101,102,103,
  77.   104,105,106,107,108,109,110,111,
  78.   112,113,114,115,116,117,118,119,
  79.   120,121,122, 91, 92, 93, 94, 95,
  80.    96, 65, 66, 67, 68, 69, 70, 71,
  81.    72, 73, 74, 75, 76, 77, 78, 79,
  82.    80, 81, 82, 83, 84, 85, 86, 87,
  83.    88, 89, 90,123,124,125,126,127,
  84.   128,129,130,131,132,133,134,135,
  85.   136,137,138,139,140,141,142,143,
  86.   144,145,146,147,148,149,150,151,
  87.   152,153,154,155,156,157,158,159,
  88.   160,161,162,163,164,165,166,167,
  89.   168,169,170,171,172,173,174,175,
  90.   176,177,178,179,180,181,182,183,
  91.   184,185,186,187,188,189,190,191,
  92.   192,193,194,195,196,197,198,199,
  93.   200,201,202,203,204,205,206,207,
  94.   208,209,210,211,212,213,214,215,
  95.   216,217,218,219,220,221,222,223,
  96.   224,225,226,227,228,229,230,231,
  97.   232,233,234,235,236,237,238,239,
  98.   240,241,242,243,244,245,246,247,
  99.   248,249,250,251,252,253,254,255,
  100.  
  101. /* This table contains bit maps for various character classes. Each map is 32
  102. bytes long and the bits run from the least significant end of each byte. The
  103. classes that have their own maps are: space, xdigit, digit, upper, lower, word,
  104. graph, print, punct, and cntrl. Other classes are built from combinations. */
  105.  
  106.   0x00,0x3e,0x00,0x00,0x01,0x00,0x00,0x00,
  107.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  108.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  109.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  110.  
  111.   0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03,
  112.   0x7e,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,
  113.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  114.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  115.  
  116.   0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03,
  117.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  118.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  119.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  120.  
  121.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  122.   0xfe,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
  123.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  124.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  125.  
  126.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  127.   0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0x07,
  128.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  129.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  130.  
  131.   0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03,
  132.   0xfe,0xff,0xff,0x87,0xfe,0xff,0xff,0x07,
  133.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  134.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  135.  
  136.   0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,
  137.   0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
  138.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  139.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  140.  
  141.   0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
  142.   0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
  143.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  144.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  145.  
  146.   0x00,0x00,0x00,0x00,0xfe,0xff,0x00,0xfc,
  147.   0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0x78,
  148.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  149.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  150.  
  151.   0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
  152.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
  153.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  154.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  155.  
  156. /* This table identifies various classes of character by individual bits:
  157.   0x01   white space character
  158.   0x02   letter
  159.   0x04   decimal digit
  160.   0x08   hexadecimal digit
  161.   0x10   alphanumeric or '_'
  162.   0x80   regular expression metacharacter or binary zero
  163. */
  164.  
  165.   0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*   0-  7 */
  166.   0x00,0x01,0x01,0x00,0x01,0x01,0x00,0x00, /*   8- 15 */
  167.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  16- 23 */
  168.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  24- 31 */
  169.   0x01,0x00,0x00,0x00,0x80,0x00,0x00,0x00, /*    - '  */
  170.   0x80,0x80,0x80,0x80,0x00,0x00,0x80,0x00, /*  ( - /  */
  171.   0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, /*  0 - 7  */
  172.   0x1c,0x1c,0x00,0x00,0x00,0x00,0x00,0x80, /*  8 - ?  */
  173.   0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /*  @ - G  */
  174.   0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /*  H - O  */
  175.   0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /*  P - W  */
  176.   0x12,0x12,0x12,0x80,0x80,0x00,0x80,0x10, /*  X - _  */
  177.   0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /*  ` - g  */
  178.   0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /*  h - o  */
  179.   0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /*  p - w  */
  180.   0x12,0x12,0x12,0x80,0x80,0x00,0x00,0x00, /*  x -127 */
  181.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 128-135 */
  182.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 136-143 */
  183.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 144-151 */
  184.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 152-159 */
  185.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 160-167 */
  186.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 168-175 */
  187.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 176-183 */
  188.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191 */
  189.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 192-199 */
  190.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 200-207 */
  191.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 208-215 */
  192.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 216-223 */
  193.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 224-231 */
  194.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 232-239 */
  195.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 240-247 */
  196.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/* 248-255 */
  197.  
  198. /* End of pcre_chartables.c */
  199.